package com.heima.feigns.article;

import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.article.pojos.ApArticleContent;
import com.heima.model.article.pojos.ApAuthor;
import com.heima.model.common.dtos.ResponseResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

@FeignClient("leadnews-article")
public interface ArticleFeign {
    /**
     * 根据userId查询作者信息
     *
     * @param id
     * @return
     */
    @GetMapping("/api/v1/author/findByUserId/{id}")
    ApAuthor findByUserId(@PathVariable("id") Integer id);

    /**
     * 保存作者信息
     *
     * @param apAuthor
     * @return
     */
    @PostMapping("/api/v1/author/save")
    boolean save(@RequestBody ApAuthor apAuthor);

    /**
     * 保存app文章
     *
     * @param dto
     * @return
     */
    @PostMapping("/api/v1/article/save")
    ResponseResult saveArticle(@RequestBody ArticleDto dto);

    /**
     * 根据文章id查询文章属性
     *
     * @param id
     * @return
     */
    @GetMapping("/api/v1/article/one/{id}")
    ApArticle findArticleById(@PathVariable("id") Long id);
    /**
     * 根据文章id查询文章内容
     *
     * @param articleId
     * @return
     */
    @GetMapping("/api/v1/article_content/one/{id}")
    ApArticleContent findArticleContentById(@PathVariable("id") Long articleId);

    /**
     * 更新文章
     * @param apArticle
     * @return
     */
    @PutMapping("/api/v1/article/updateArticleById")
    boolean updateArticleById(@RequestBody ApArticle apArticle);

    /**
     * 根据作者id查询作者信息
     * @param id
     * @return
     */
    @GetMapping("/api/v1/author/findApAuthorById/{id}")
    ApAuthor findApAuthorById(@PathVariable("id") Integer id);
}
